package proyecto;

import java.util.Iterator;

import jss2.LinkedBinarySearchTree;

public class ListaEmpleados {
	
	private static ListaEmpleados mListaEmpleados = new ListaEmpleados();
	private LinkedBinarySearchTree<Empleado> arbolE;
	

	private ListaEmpleados() {
		arbolE = new LinkedBinarySearchTree<Empleado>();
	}

	public static ListaEmpleados getListaEmpleados() {
		return mListaEmpleados;
	}
	
	public void anadirEmpleado(Empleado pEmp){
		if (pEmp != null){
			this.arbolE.addElement(pEmp);
		}
		else{
			//////
		}
	}

	public void eliminarEmpleado(Empleado pEmp){
		if (pEmp != null){
			this.arbolE.removeElement(pEmp);
		}
		else{
			//////
		}
	}
	
	public Empleado buscarEmpleado(String pDni){
		
		boolean encontrado = false;
		Iterator<Empleado> itr = this.arbolE.iteratorPreOrder(); 
		Empleado actual = itr.next();

		while ((actual != null) | encontrado){
			if (actual.comprobarDni(pDni)){
				encontrado = true;
			}
			else{
				actual = itr.next();
			}
		}
		
		if (!encontrado){
			return null;
		}
		else{
			return actual;
		}
	}
}
